/**
开始学习GO编译以及相关工具的使用，包括编译、（编译后）运行、（编译后）安装、一键获取代码编译并安装、测试、性能分析相关的概念和操作。
用Day3中学到的并发相关知识以及今日的知识实现下面的题目：
使用Go语言中的Socket（net包）、goroutine和通道编写一个简单的Telnet协议的服务器程序，能够实现接受连接、会话处理、Telnet命令处理。
即客户端可以输入命令，然后在服务器端做出相应的响应输出相应内容，同时客户端接收到服务器端的回应信息。
用编译并（编译后）运行的方式程序代码运行。
保证代码结构严谨，无报错，不崩溃。
 */

package main

import (
	"fmt"
	"log"
	"net"
)

func chkError(err error) {
	if err != nil {
		log.Fatal(err)
	}
}

func main() {
	port := "127.0.0.1:8080"
	tcpAddr, err := net.ResolveTCPAddr("tcp4", port)

	fmt.Println("监听"+port)
	chkError(err)

	//监听端口
	tcplisten, err2 := net.ListenTCP("tcp", tcpAddr)
	chkError(err2)

	for {
		conn, err3 := tcplisten.Accept()

		if err3 != nil {
			continue
		}

		conn.Write([]byte("hello golang \r\n"))
		conn.Close()
	}
}